package elka.sag.logisticsystem.service;

import elka.sag.logisticsystem.bean.ActionStatus;
import elka.sag.logisticsystem.bean.Order;
import elka.sag.logisticsystem.bean.Order.OrderStatus;

public interface RuleService {
	/**
	 * Wyznacza na podstawie zamowienia i wyniku operacji kolejny status
	 * @param order
	 * @return
	 */
	public OrderStatus getNextStatus(Order order, ActionStatus actionStatus, String actorClass);
	
	/**
	 * Laduje reguly z podanego pliku dla podanego aktora
	 * @param rulePath
	 * @param actualStatus
	 * @throws Exception 
	 */
	public void loadRules(String rulePath, String actorClass);

}
